昨天寫出 JSON 的式子,今天把它轉換資料。
建立物件...給 JSON 資料一個變數
var car = {
"name": "Ferrari FF",
"dimensions":[{
"Length": "4907 mm",
"Width": "1953 mm",
"Height": "1379 mm"
}],
"weight": 1790,
"Top speed": "335 km/h"
}
從物件建立 JSON ,用 JSON.stringify 函式轉換
var json = JSON.stringify(car);
可以用 console.log 試試看...
console.log(json);
會跳出以下結果代表處理成功,這時候是字串形態:
{"name":"Ferrari FF","dimensions ":[{"Length":"4907 mm","Width":"1953 mm","Height":"1379 mm"}],"weight":1790,"Top speed":"335 km/h"}
JSON.parse() 把 JSON 字串轉換成物件。
因為網路上的 JSON 檔案是字串形態,要先抓取字串後再做轉換。
var carStr = '{\
"name": "Ferrari FF",\
"dimensions":[{\
"Length": "4907 mm",\
"Width": "1953 mm",\
"Height": "1379 mm"\
}],\
"weight": 1790,\
"Top speed": "335 km/h"\
}';
程式碼裡面的 \ 是字串斷行的符號,因 JSON 字串不能直接斷行,會出錯的。
先把 car 字串資料轉到物件:
var str = JSON.parse(carStr);
然後就可以抓取裡面任何一筆資訊囉
要抓字串的話:
console.log(carStr.dimensions);
要抓陣列的話,首先先找到陣列的名稱 (dimensions) ,
再來看要找的資料在陣列的哪裏,以本例來說是第一個也就是 [0],
最後 .要找的名稱
console.log(str.dimensions[0].Length);
參考資料 & 其他閱讀:
你不可不知的 JSON 基本介紹
本文同步發表於 http://azzurro.blog.aznc.cc/learn_javascript_22/